Interference cancellation under non-stationary conditions

ABSTRACT

A method for timing and frequency synchronization in a wireless system is provided. The method comprises the steps of receiving a burst of symbols, selecting a subset of the burst of symbols, iteratively adjusting the subset of the burst of symbols by a plurality of timing offsets and calculating, for each timing offset, a first performance metric corresponding to the adjusted subset. The method further comprises the steps of determining one of the plurality of timing offsets to be a preferred timing offset based upon the first performance metric thereof, iteratively rotating the subset of the burst of symbols by a plurality of frequency offsets and calculating, for each frequency offset, a second performance metric corresponding to the rotated subset, and determining one of the plurality of frequency offsets to be a preferred frequency offset based upon the second performance metric thereof.

REFERENCE TO CO-PENDING APPLICATIONS FOR PATENT

The present application claims the benefit of priority under 35 U.S.C.§119 from U.S. Provisional Patent Application Ser. No. 61/052,973entitled “TWO DIMENSIONAL SEARCH FOR GERAN OPTIMAL TIMING AND CARRIERRECOVERY,” having Attorney Docket No. 080790P1, filed May 13, 2008,assigned to the assignee hereof, and expressly incorporated by referenceherein. The present application for patent is also related to co-pendingU.S. patent application Ser. No. 12/038,724, entitled “COHERENT SINGLEANTENNA INTERFERENCE CANCELLATION FOR GSM/GPRS/EDGE,” having AttorneyDocket No. 071339/071341, filed Feb. 27, 2008, assigned to the assigneehereof, and expressly incorporated by reference herein.

BACKGROUND

1. Field

The present invention generally relates to wireless communication and,in particular, relates to interference cancellation under non-stationaryconditions.

2. Background

In many communication systems utilizing GSM, GPRS, EDGE or the like, areceiver's ability to properly decode a received signal depends upon thereceiver's ability to accurately estimate symbol timing and frequency.As wireless communications become ever more prevalent, however,increasing amounts of interference can negatively impact a receiver'sability to do so.

SUMMARY

According to one aspect of the subject technology, optimal timing andfrequency (by which to rotate the received samples) are jointly obtainedin a wireless communication system by parametrizing the subspace intopossible timing and frequency hypotheses and searching through them.Joint Max Likelihood of frequency and timing may be performedsequentially or in parallel.

According to certain aspects of the subject technology, an interferencesuppression filter is tuned to various parameters, and then optimalpairs (of time and frequency) are picked by minimizing the predictionerror using a known sequence (midamble or quasi-midamble, e.g., dataaided). The algorithm boosts the received signal quality under stronginterference whereas non-coherent estimation would degradesignificantly.

According to one aspect of the subject technology, a method for timingand frequency synchronization in a wireless system comprises the stepsof receiving a burst of symbols, selecting a subset of the burst ofsymbols, iteratively adjusting the subset of the burst of symbols by aplurality of timing offsets and calculating, for each timing offset, afirst performance metric corresponding to the adjusted subset. Themethod further comprises the steps of determining one of the pluralityof timing offsets to be a preferred timing offset based upon the firstperformance metric thereof, iteratively rotating the subset of the burstof symbols by a plurality of frequency offsets and calculating, for eachfrequency offset, a second performance metric corresponding to therotated subset, and determining one of the plurality of frequencyoffsets to be a preferred frequency offset based upon the secondperformance metric thereof.

According to another aspect of the subject technology, a method fortiming and frequency synchronization in a wireless system comprises thesteps of receiving a burst of symbols, selecting a subset of the burstof symbols, iteratively adjusting the subset of the burst of symbols bya plurality of timing offsets and a plurality of frequency offsets,calculating, for each combination of timing and frequency offsets, aperformance metric corresponding to the adjusted subset, and determiningone of the combination of timing and frequency offsets to be a preferredcombination based upon the performance metric thereof.

According to another aspect of the subject technology, a wirelessapparatus comprises a receiver configured to receive a burst of symbols,and a processor. The processor is configured to select a subset of theburst of symbols, iteratively adjust the subset of the burst of symbolsby a plurality of timing offsets and calculate, for each timing offset,a first performance metric corresponding to the adjusted subset. Theprocessor is further configured to determine one of the plurality oftiming offsets to be a preferred timing offset based upon the firstperformance metric thereof, iteratively rotate the subset of the burstof symbols by a plurality of frequency offsets and calculate, for eachfrequency offset, a second performance metric corresponding to therotated subset, and determine one of the plurality of frequency offsetsto be a preferred frequency offset based upon the second performancemetric thereof.

According to another aspect of the subject technology, a wirelessapparatus comprises a receiver configured to receive a burst of symbols,and a processor. The processor is configured to receive a burst ofsymbols, select a subset of the burst of symbols, iteratively adjust thesubset of the burst of symbols by a plurality of timing offsets and aplurality of frequency offsets, calculate, for each combination oftiming and frequency offsets, a performance metric corresponding to theadjusted subset, and determine one of the combination of timing andfrequency offsets to be a preferred combination based upon theperformance metric thereof.

According to another aspect of the subject technology, a wirelessapparatus comprises means for receiving a burst of symbols, means forselecting a subset of the burst of symbols, means for iterativelyadjusting the subset of the burst of symbols by a plurality of timingoffsets and for calculating, for each timing offset, a first performancemetric corresponding to the adjusted subset, means for determining oneof the plurality of timing offsets to be a preferred timing offset basedupon the first performance metric thereof, means for iterativelyrotating the subset of the burst of symbols by a plurality of frequencyoffsets and calculating, for each frequency offset, a second performancemetric corresponding to the rotated subset, and means for determiningone of the plurality of frequency offsets to be a preferred frequencyoffset based upon the second performance metric thereof.

According to another aspect of the subject technology, a wirelessapparatus comprises means for receiving a burst of symbols, means forselecting a subset of the burst of symbols, means for iterativelyadjusting the subset of the burst of symbols by a plurality of timingoffsets and a plurality of frequency offsets, means for calculating, foreach combination of timing and frequency offsets, a performance metriccorresponding to the adjusted subset, and means for determining one ofthe combination of timing and frequency offsets to be a preferredcombination based upon the performance metric thereof.

According to another aspect of the subject technology, acomputer-program product for use in a wireless communication systemcomprises a computer readable medium having a set of instructions storedthereon, the set of instructions being executable by one or moreprocessors and the set of instructions comprising instructions forreceiving a burst of symbols, instructions for selecting a subset of theburst of symbols, instructions for iteratively adjusting the subset ofthe burst of symbols by a plurality of timing offsets and forcalculating, for each timing offset, a first performance metriccorresponding to the adjusted subset, instructions for determining oneof the plurality of timing offsets to be a preferred timing offset basedupon the first performance metric thereof, instructions for iterativelyrotating the subset of the burst of symbols by a plurality of frequencyoffsets and for calculating, for each frequency offset, a secondperformance metric corresponding to the rotated subset, and instructionsfor determining one of the plurality of frequency offsets to be apreferred frequency offset based upon the second performance metricthereof.

According to another aspect of the subject technology, acomputer-program product for use in a wireless communication systemcomprises a computer readable medium having a set of instructions storedthereon, the set of instructions being executable by one or moreprocessors and the set of instructions comprising instructions forreceiving a burst of symbols, instructions for selecting a subset of theburst of symbols, instructions for iteratively adjusting the subset ofthe burst of symbols by a plurality of timing offsets and a plurality offrequency offsets, instructions for calculating, for each combination oftiming and frequency offsets, a performance metric corresponding to theadjusted subset, and instructions for determining one of the combinationof timing and frequency offsets to be a preferred combination based uponthe performance metric thereof.

It is understood that other configurations of the subject technologywill become readily apparent to those skilled in the art from thefollowing detailed description, wherein various configurations of thesubject technology are shown and described by way of illustration. Aswill be realized, the subject technology is capable of other anddifferent configurations and its several details are capable ofmodification in various other respects, all without departing from thescope of the subject technology. Accordingly, the drawings and detaileddescription are to be regarded as illustrative in nature and not asrestrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates exemplary frame and burst formats in GSM inaccordance with one aspect of the subject technology;

FIG. 2 is a flow chart illustrating a method for suppressinginterference in accordance with one aspect of the subject technology;

FIG. 3 is a flow chart illustrating a method for suppressinginterference in accordance with one aspect of the subject technology;

FIG. 4 illustrates a receiver for use in a wireless communication systemin accordance with one aspect of the subject technology;

FIG. 5 illustrates a subset of symbols, including the first midamblesymbol, that a receiver selects in accordance with one aspect of thesubject technology;

FIG. 6 illustrates a method for suppressing interference in accordancewith one aspect of the subject technology;

FIG. 7 illustrates a receiver for use in a wireless communication systemin accordance with one aspect of the subject technology;

FIG. 8 illustrates a method for suppressing interference in accordancewith one aspect of the subject technology;

FIG. 9 illustrates a receiver for use in a wireless communication systemin accordance with one aspect of the subject technology;

FIG. 10 illustrates a receiver for use in a wireless communicationsystem in accordance with one aspect of the subject technology; and

FIG. 11 is a block diagram illustrating a computer system with whichcertain aspects of the subject technology may be implemented.

DETAILED DESCRIPTION

FIG. 1 shows exemplary frame and burst formats in GSM. The timeline fordownlink transmission is divided into multiframes. For traffic channelsused to send user-specific data, each multiframe, such as exemplarymultiframe 101, includes 26 TDMA frames, which are labeled as TDMAframes 0 through 25. The traffic channels are sent in TDMA frames 0through 11 and TDMA frames 13 through 24 of each multiframe, asidentified by the letter “T” in FIG. 1. A control channel, identified bythe letter “C,” is sent in TDMA frame 12. No data is sent in the idleTDMA frame 25 (identified by the letter “I”), which is used by thewireless devices to make measurements for neighbor base stations.

Each TDMA frame, such as exemplary TDMA frame 102, is furtherpartitioned into eight time slots, which are labeled as time slots 0through 7. Each active wireless device/user is assigned one time slotindex for the duration of a call. User-specific data for each wirelessdevice is sent in the time slot assigned to that wireless device and inTDMA frames used for the traffic channels.

The transmission in each time slot is called a “burst” in GSM. Eachburst, such as exemplary burst 103, includes two tail fields, two datafields, a training sequence (or midamble) field, and a guard period(GP). The number of bits in each field is shown inside the parentheses.GSM defines eight different training sequences that may be sent in thetraining sequence field. Each training sequence, such as midamble 104,contains 26 bits and is defined such that the first five bits arerepeated and the second five bits are also repeated. Each trainingsequence is also defined such that the correlation of that sequence witha 16-bit truncated version of that sequence is equal to (a) sixteen fora time shift of zero, (b) zero for time shifts of ±1, ±2, ±3, ±4, and±5, and (3) a zero or non-zero value for all other time shifts.

One approach to locating a midamble in a burst of symbols seriallycompares hypotheses regarding the midamble position to determine whichhypothesis provides the highest correlation energy between the knownmidamble sequence and the hypothesized position in the burst of symbols.This method is very sensitive to interference from multi-paths of thesame midamble sequence, which can cause the correlation energy ofinaccurate hypotheses to be affected by time-delayed copies thereof.

Non-Coherent Frequency and Timing estimation suffers from performancedegradation under presence of strong interference. According to oneaspect of the subject technology, by semi-coherently estimating theoptimal timing and frequency, performance in the presence ofinterference can be greatly improved.

According to one aspect of the subject technology, optimal timing andfrequency (by which to rotate the received samples) are jointly obtainedby parametrizing the subspace into possible hypotheses and searchingthrough them. Joint Max Likelihood of frequency and timing may befurther simplified to a sequential search to provide optimalperformance.

According to one aspect of the subject technology, an interferencesuppression filter is tuned to various parameters, and then optimalpairs (of time and frequency) are picked by minimizing the predictionerror using a known sequence (midamble or quasi-midamble, e.g., dataaided). The algorithm boosts the received signal quality under stronginterference whereas non-coherent estimation would degradesignificantly.

For example, given a set of spatial and temporal samples at time k:

${{\underset{\_}{x}}_{k} = \begin{bmatrix}{x_{k}(1)} \\{x_{k}(2)} \\\vdots \\{x_{k}(M)}\end{bmatrix}},{{\underset{\_}{s}}_{k} = \begin{bmatrix}s_{k} \\s_{k - 1} \\\vdots \\s_{k - \upsilon}\end{bmatrix}}$

where s_(k) is the midamble/quasi-midamble signal at time k, s_(k) is a(υ+1)×1 midamble/quasi-midamble vector, and x_(k) is a M×1 receivedmidamble/quasi-midamble vector, a set of spatial temporal samples can bedefined as

${X_{k} = \begin{bmatrix}{\underset{\_}{x}}_{k} \\{\underset{\_}{x}}_{k - 1} \\\vdots \\{\underset{\_}{x}}_{k - L}\end{bmatrix}},$

where X_(k) is a M×(L+1)×1 vector of spatial temporal samples with aspatial length of M and a temporal length of L+1. Accordingly, aspatial/temporal structured matrix can be constructed, such that

[X]=[X _(k) X _(k+1) . . . X _(k+p−υ)],

where [X] is a M (L+1)×p−υ matrix, and p is the length of the midambleor quasi-midamble (data aided).

Accordingly, given [X] and {tilde over (s)}_(k)=[s_(k), s_(k+1), . . .s_(k+p−υ)], (υ+1)×p−υ, a suppression filter W_(SAIC) can be computedaccording to one aspect of the subject disclosure by estimating areference sequence of symbols at the channel input:

W _(SAIC)=arg min∥W[X]−{tilde over (Z)}∥ ²

where W=(υ+1)×M(L+1) and {tilde over (Z)}={tilde over (s)}_(k),(υ+1)×(p−υ).

The foregoing equation can be rewritten as

W_(SAIC)={tilde over (Z)}[X]^(†),(υ+1)×M(L+1)

or, more particularly, as

W_(SAIC)={tilde over (s)}_(k)[X]^(T){[X][X]^(T)}⁻¹.

To estimate an optimal parameter pair of time and frequency, theinterference suppression filter can be serially tuned to each of aplurality of timing hypotheses, and the hypothesis corresponding to thelowest prediction error (using any known sequence, such as the midambleor a data aided quasi-midamble) is selected. Then the filter is seriallytuned to each of a plurality of frequency hypotheses to determine whichfrequency hypothesis corresponds to a lowest prediction error. Thisserial approach is illustrated in accordance with one aspect of thesubject disclosure in FIG. 2. Initially, the method begins byinitializing a number of variables in block 201, including k (thefrequency hypothesis number), Δ (the timing hypothesis number), ε_(min)(the lowest measured error), τ(n) (the optimal timing hypothesis number)and f(n) (the optimal frequency hypothesis number). The method proceedsto the timing loop 202 (as k is initialized to a zero value). In thetiming loop, a set of spatial temporal samples are selectedcorresponding to timing hypothesis number Δ. Filter weights for a filterW_(Δ) are calculated based upon the timing hypothesis, as set forth ingreater detail above, and the filter is applied to the symbols toestimate a midamble Ŝ_(Δ). The error ε(Δ) in the estimated midamble isdetermined based upon the previously known values for the midamble S.The error is smoothed, and is compared to ε_(min), the lowest calculatederror thus far. As ε_(min) is initially set to ∞, the first iterationwill necessarily involve redefining ε_(min) to the first calculatederror value. Accordingly, τ(n), the optimal timing hypothesis yetcalculated, will be set to Δ. Then, as long as Δ is less than Δ_(max)(the total number of hypotheses in the parameterized space), thehypothesis Δ is indexed by one, and timing loop 202 repeats. Once timingloop 202 has iteratively calculated errors for each timing hypothesis Δ,an optimal hypothesis τ(n) will have been selected, and the methodproceeds to frequency loop 203. In a similar fashion to timing loop 202,frequency loop 203 iteratively calculates midamble estimation errors foreach frequency hypothesis (at the optimal timing delay), and determinesthe optimal frequency hypothesis. In this manner, an optimaltiming/frequency pair are serially determined from the parameterizedtiming/frequency subspace, and are used in the processing of the symbolsto minimize errors arising from interference.

According to one aspect of the subject disclosure, one drawback of usingthis algorithm for frequency synchronization is that the trainingsequence may be too short to reliably estimate small frequency offsets(e.g., on the order of few hundred Hz), as the curvature over midambleis essentially flat. Hence the need for an error smoothening filter,which makes the implementation more complicated in the field where thefrequency offset between interferer and the desired signal can changefrom burst to burst. Accordingly, in order to obtain better and moreaccurate estimates on a burst to burst basis without the need tosmoothen the midamble estimation error estimates, the signal to noiseratio may be used over the entire burst instead of the midambleestimation error, in accordance with one aspect of the subjectdisclosure. In order to obtain this signal to noise ratio, the burst isequalized (post MLSE) and the signal to noise ratio is determined usingthe hard decisions. This approach is illustrated in accordance with oneaspect of the subject disclosure in FIG. 3. As can be seen withreference to FIG. 3, the timing loop includes an estimation of thesignal to noise ratio (E_(b)/N₀), which estimation is used to

In a manner similar to that illustrated in exemplary FIG. 2, the methodillustrated in FIG. 3 includes a timing loop 301 and a frequency loop302. In the timing loop, a set of spatial temporal samples are selectedcorresponding to timing hypothesis number τ. Filter weights for a filterW_(τ) are calculated based upon the timing hypothesis, as set forth ingreater detail above, and the filter is applied to the symbols toestimate a midamble Ŝ_(τ). The error ε_(τ) in the estimated midamble isdetermined based upon the previously known values for the midamble S.The error is smoothed, and is compared to ε_(min), the lowest calculatederror thus far. As ε_(min) is initially set to ∞, the first iterationwill necessarily involve redefining ε_(min) to the first calculatederror value. Accordingly, Δt_(ML)(n), the optimal timing hypothesis yetcalculated, will be set to τ. Then, as long as τ is less than N (thetotal number of hypotheses in the parameterized space), the hypothesis τis indexed by one, and timing loop 301 repeats. Once timing loop 301 hasiteratively calculated errors for each timing hypothesis τ, an optimalhypothesis Δt_(ML)(n) will have been selected, and the method proceedsto frequency loop 302. Frequency loop 302 iteratively calculates asignal to noise ratio for each frequency hypothesis (at the optimaltiming delay), and determines the optimal frequency hypothesis. In thismanner, an optimal timing/frequency pair are serially determined fromthe parameterized timing/frequency subspace, and are used in theprocessing of the symbols to minimize errors arising from interference.

According to one aspect, the signal to noise ratio E_(b)/N₀ determinedin frequency loop 302 is based upon hard decisions. In this regard, theSNR may be equal to ∥H∥_(F)/∥WX−ĤŜ∥², where Ŝ is a Toeplitz matrix ofestimated symbols after the equalization of the entire burst, which alsoincludes the known training sequence S.

FIG. 4 illustrates a receiver for use in a wireless communication systemin accordance with one aspect of the subject technology. Receiver 400includes an antenna 410 configured to receive a wireless signal. Whilereceiver 400 may be used in various communication systems, for clarity,receiver 400 is specifically described herein with respect to a GSMsystem. The received signal is provided to a pre-processor 420 whichdemodulates the signal to generate received samples. Pre-processor 420may include a GMSK-to-BPSK rotator that performs phase rotation on thereceived samples. Timing estimator 430 receives the samples frompre-processor 420 and generates a plurality of timing hypothesesregarding where a training sequence of symbols (i.e., midamble) beginsin the burst of data. Interference suppressor 440 iteratively performssingle antenna interference cancellation on the symbols for each timinghypothesis, calculating different filter weights for each timinghypothesis, and midamble estimator 450 generates a midamble estimationerror for each hypothesis, as described in greater detail above. Timingdecision circuit 460 compares the midamble estimation errors for eachhypothesis and selects the hypothesis with the lowest midambleestimation error. The selection of a hypothesis by timing decisioncircuit 460 represents the position in the burst of symbols where themidamble is estimated to begin. Frequency estimator 470 receives thesamples from timing decision circuit 460 and generates a plurality offrequency hypotheses regarding a frequency on which symbols aretransmitted. Interference suppressor 440 iteratively performs singleantenna interference cancellation on the symbols for each frequencyhypothesis, calculating different filter weights for each frequencyhypothesis, and midamble estimator 450 generates a midamble estimationerror for each hypothesis, as described in greater detail above.Frequency decision circuit 480 compares the midamble estimation errorsfor each hypothesis and selects the hypothesis with the lowest midambleestimation error. The selection of a hypothesis by frequency decisioncircuit 480 represents the optimal frequency at which to receive theburst of symbols. The signal is then provided to data processor 490,which processes the received symbols based upon the selected timing andfrequency hypotheses, and outputs the data corresponding to the receivedsymbols.

According to one aspect of the subject disclosure, timing estimator maygenerate a plurality of timing hypotheses by opening a “window” aroundthe estimated beginning of the midamble sequence. The position of thefirst symbol of the midamble sequence can be estimated for a givenburst, based upon the known structure of each burst. For example, asillustrated in FIG. 1, the beginning of midamble 104 in burst 103 beginsin the 62nd bit of the burst. Based upon this known structure, timingestimator 430 selects a window 105 of bits representing a series ofhypotheses regarding where the first midamble symbol may be located.Exemplary window 105 is illustrated in greater detail in FIG. 5.

As can be seen with reference to FIG. 5, exemplary window 105 comprises11 symbols, labeled Δ=0 to Δ=10. Each Δ value represents the position ofthe symbol in the window. With reference to the position of a symbol inthe entire burst, however, the Δ value is offset by an offset value(e.g., Δ=5 may be offset by 61 to represent the position of this symbolin the entire burst). For the first seven symbols in window 105, timingestimator 430 generates a channel estimate from a sequence of fivecontiguous symbols (representing the five-tap channel format of GSM).For example, symbol Δ=0 corresponds to channel estimate ĥ(t₀), symbolΔ=1 corresponds to channel estimate ĥ(t₁), etc. Each of these channelestimates is then processed by interference suppressor 440 and midambleestimator 450 to determine estimated midamble symbols correspondingthereto, in order to determine a midamble estimation error therefor.

While in the present exemplary aspect, window 105 has been illustratedas consisting of exactly 11 symbols, the scope of the present inventionis not limited to such an arrangement. Rather, as will be readilyapparent to one of skill in the art, any window size (up to the size ofthe entire data burst) may be selected. For example, in accordance withone aspect of the subject technology, the size of the search window maybe chosen to be twice the size of the expected minimum propagationdelay. Alternatively, the search window size may be parameterized basedon any other metric known to those of skill in the art.

According to one aspect, a channel estimate ĥ may be generated by timingestimator 430 by correlating the received samples (corresponding to thehypothesized delay) with the reference samples (i.e., the known midamblesequence) for each hypothesis. Based on the correlation R_(ys)(Δ)between received signal y and midamble sequence s for a hypothesizeddelay Δ, the channel estimate may be calculated as follows:

$\begin{matrix}{{{{h^{(\delta)}\left\lbrack {{R_{ys}(\delta)},{R_{ys}\left( {\delta + 1} \right)},\ldots \mspace{14mu},{R_{ys}\left( {\delta + 4} \right)}} \right\rbrack}\mspace{14mu} {for}\mspace{14mu} \delta} = 0},1,\ldots \mspace{14mu},6} & (1) \\{\delta^{*} = {\underset{\delta}{\arg \mspace{14mu} \max}\left\{ {h_{1}^{(\delta)}}^{2} \right\}}} & (2) \\{\hat{h} = {\left\lbrack {{R_{ys}\left( \delta^{*} \right)}{R_{ys}\left( {\delta^{*} + 1} \right)}\mspace{14mu} \ldots \mspace{14mu} {R_{ys}\left( {\delta^{*} + 4} \right)}} \right\rbrack.}} & (3)\end{matrix}$

To test the hypothesis corresponding to each channel estimate,interference suppressor 440 performs SAIC on each estimated channel.SAIC is a method by which oversampled and/or real/imaginarydecomposition of a signal is used to provide virtual antennas withseparate sample sequences, such that weights may be applied to thevirtual antennas to form a beam in the direction of a desiredtransmitter and a beam null in the direction of an undesiredinterference source. In general, SAIC may be achieved with one ormultiple actual antennas at the receiver by using space-time processing,where “space” may be virtually achieved with inphase and quadraturecomponents, and “time” may be achieved using late and early samples.

For example, given a set of spatial and temporal samples at a time k:

${{\underset{\_}{x}}_{k} = \begin{bmatrix}{x_{k}(1)} \\{x_{k}(2)} \\\vdots \\{x_{k}(M)}\end{bmatrix}},{{\underset{\_}{s}}_{k} = \begin{bmatrix}s_{k} \\s_{k - 1} \\\vdots \\s_{k - \upsilon}\end{bmatrix}}$

where s_(k) is the midamble/quasi-midamble signal at time k, s_(k) is a(υ+1)×1 midamble/quasi-midamble vector, and x_(k) is a M×1 receivedmidamble/quasi-midamble vector, a set of spatial temporal samples can bedefined as

${X_{k} = \begin{bmatrix}{\underset{\_}{x}}_{k} \\{\underset{\_}{x}}_{k - 1} \\\vdots \\{\underset{\_}{x}}_{k - L}\end{bmatrix}},$

where X_(k) is a M×(L+1)×1 vector of spatial temporal samples with aspatial length of M and a temporal length of L+1. Accordingly, aspatial/temporal structured matrix can be constructed, such that

[X]=[X _(k) X _(k+1) . . . X _(k+p−υ)],

where [X] is a M(L+1)×p−υ matrix, and p is the length of the midamble orquasi-midamble (data aided).

Accordingly, given [X] and {tilde over (s)}_(k)=[s_(k), s_(k+1), . . .s_(k+p−υ)], (υ+1)×p−υ, a suppression filter W_(SAIC) can be computedaccording to one aspect of the subject disclosure by estimating areference sequence of symbols at the channel input:

W _(SAIC)=arg min∥W[X]−{tilde over (Z)}∥ ²  (4)

where W=(υ+1)×M(L+1) and {tilde over (Z)}={tilde over (s)}_(k),(υ+1)×(p−υ).

The foregoing equation can be rewritten as

W_(SAIC)={tilde over (Z)}[X]^(†),(υ+1)×M(L+1)  (5)

or, more particularly, as

W_(SAIC)={tilde over (s)}_(k)[X]^(T){[X][X]^(T)}⁻¹  (6)

The output of interference suppressor 440 is in the form Ŝ, where Ŝrepresents an estimate of the midamble sequence. The difference betweenthe estimated and known midamble sequences is determined according toEquation 7, below:

∥S−Ŝ∥ ² =e _(m)(t _(i))  (7)

to obtain a midamble estimation error e_(m)(t_(i)) for each time t_(i).Each time t_(i) is equal to the hypothesized position Δ_(i) plus anoffset T_(s) from the beginning of the burst:

t _(i)=Δ_(i) +T _(s)  (8)

Once the midamble estimation error e_(m)(t_(i)) for each time t_(i) isdetermined, timing decision block 460 determines which hypothesiscorresponds to the lowest estimation error e_(m), and the otherhypothesized timing values are discarded.

According to one aspect of the subject disclosure, the foregoing methodfor interference suppression enjoys a number of benefits when comparedto a method utilizing channel output beamforming. For example, as can beseen with reference to Equation 4, the interference suppression filterweights are calculated by minimizing the cost function

J=min(∥W[X]−S∥ ²).  (9)

Accordingly, the suppression filter weights (of Equation 6) have thedimensionality of υ×M (L+1), and the filtered output has thedimensionality of υ×(p−υ). Accordingly, the size of the filter weightsgrows linearly with the number of antennas (whether real or virtual),and the size of the filtered output sample matrix remains constant evenas the number of antennas (or virtual antennas) grows. This offersdramatic improvements in computational simplicity and storagerequirements over a channel output setup, in which the interferencesuppression filter weights are calculated by minimizing the costfunction

J=min(∥W[X]−HS∥ ²),  (10)

which results in suppression filter weights with a dimensionality of M×M(L+1) and a filtered output with a dimensionality of M×(p−υ) (i.e.,where the number of filter weights scale geometrically with the numberof antennas, and where the size of the filtered output sample matrixincreases linearly with the number of antennas).

Such a channel output setup further involves greater storage and backendISI equalization using non-linear equalizers (such as an MLSE, where thenumber of input streams must be set equal to M). In the channel inputsetup, the number of input streams for the backend ISI equalization isonly υ, and the number of back-substitutions in the computation of thefilter weights is reduced (not being proportional to the number ofantennas, as in the channel output setup). Despite the computationalsimplicity, however, the performance of the system is at least as goodas, if not better than, the channel output setup. In this regard, thechannel input setup provides good robustness against channel estimationerror, which tends to dominate the performance of a GERAN receiver wheninterference is present.

According to one aspect of the subject disclosure, data processor 490comprises a soft output generator that receives the signal fromfrequency decision block 480 and generates soft decisions that indicatethe confidence in the detected bits. A soft output generator mayimplement an Ono algorithm, as is well known to those of skill in theart. Data processor 490 may further comprise a de-interleaver thatde-interleaves the soft decisions, and passes the soft decisions to aViterbi decoder that decodes the deinterleaved soft decisions andoutputs decoded data.

FIG. 6 illustrates a method for suppressing interference in accordancewith one aspect of the subject technology. The method begins in step601, in which a burst of symbols are received. In step 602, a subset ofthe burst of symbols is selected. According to one aspect of the subjectdisclosure, the subset of the burst of symbols includes a first midamblesymbol. In step 603, the subset selected in step 602 is iterativelyadjusted by a plurality of timing offsets. In step 604, a plurality ofweights for an interference filter are calculated for each timingoffset, based upon the burst of symbols. In step 605, the burst ofsymbols are filtered, for each timing offset, using the interferencesuppression filter with the corresponding plurality of weights todetermine an estimated midamble sequence. In step 606, the estimatedmidamble sequence for each timing offset is compared to a previouslyknown midamble sequence to determine a midamble estimation error forthat timing offset. One of the plurality of timing offsets isdetermined, in step 607, to be a preferred timing offset, based upon themidamble estimation error thereof. According to one aspect of thesubject disclosure, the preferred midamble timing offset is the timingoffset corresponding to the lowest midamble estimation error. In step608, the subset of the burst of symbols are iteratively rotated by aplurality of frequency offsets. In step 609, a plurality of weights foran interference filter are calculated for each frequency offset, basedupon the burst of symbols. In step 610, the burst of symbols arefiltered, for each frequency offset, using the interference suppressionfilter with the corresponding plurality of weights to determine anestimated midamble sequence. In step 611, the estimated midamblesequence for each frequency offset is compared to a previously knownmidamble sequence to determine a midamble estimation error for thatfrequency offset. One of the plurality of frequency offsets isdetermined, in step 612, to be a preferred frequency offset, based uponthe midamble estimation error thereof.

According to one aspect of the subject disclosure, a parallel approachto locating an optimal frequency/timing hypothesis pair may be utilized,with a corresponding increase in computational complexity over a serialapproach (e.g., where there are 5 frequency hypotheses and 7 timinghypotheses, a serial approach may involve determining a prediction error12 times, whereas a parallel approach will involve determining aprediction error 35 times). Nevertheless, a parallel approach mayprovide even more accurate estimation of timing and frequency forimproved performance.

FIG. 7 illustrates a receiver for use in a wireless communication systemin accordance with one aspect of the subject technology. Receiver 700includes an antenna 710 configured to receive a wireless signal. Thereceived signal is provided to a pre-processor 720 which demodulates thesignal to generate received samples. Pre-processor 720 may include aGMSK-to-BPSK rotator that performs phase rotation on the receivedsamples. Timing and frequency estimator 730 receives the samples frompre-processor 720 and generates a plurality of timing and frequencyhypotheses regarding where a training sequence of symbols (i.e.,midamble) begins in the burst of data (timing) and at which frequencythe symbols can be optimally received (frequency). Interferencesuppressor 740 iteratively performs single antenna interferencecancellation on the symbols for each timing and frequency hypothesispair, calculating different filter weights for each hypothesis pair, andmidamble estimator 750 generates a midamble estimation error for eachhypothesis pair, as described in greater detail above. Timing andfrequency decision circuit 760 compares the midamble estimation errorsfor each hypothesis pair and selects the pair with the lowest midambleestimation error. The selection of a hypothesis pair by timing andfrequency decision circuit 760 represents the position in the burst ofsymbols where the midamble is estimated to begin, and the optimalfrequency at which to receive the burst of symbols. The signal is thenprovided to data processor 770, which processes the received symbolsbased upon the selected timing and frequency hypotheses, and outputs thedata corresponding to the received symbols.

FIG. 8 illustrates a method for suppressing interference in accordancewith one aspect of the subject technology. The method begins in step801, in which a burst of symbols are received. In step 802, a subset ofthe burst of symbols is selected. According to one aspect of the subjectdisclosure, the subset of the burst of symbols includes a first midamblesymbol. In step 803, the subset selected in step 802 is iterativelyadjusted by a plurality of timing and frequency offsets. In step 804, aplurality of weights for an interference filter are calculated for eachtiming and frequency offset pair, based upon the burst of symbols. Instep 805, the burst of symbols are filtered, for each pair of offsets,using the interference suppression filter with the correspondingplurality of weights to determine an estimated midamble sequence. Instep 806, the estimated midamble sequence for each offset pair iscompared to a previously known midamble sequence to determine a midambleestimation error for that timing offset. One of the pluralitycombination of timing and frequency offsets is determined, in step 807,to be a preferred combination, based upon the midamble estimation errorthereof. According to one aspect of the subject disclosure, thepreferred combination is the combination corresponding to the lowestmidamble estimation error.

FIG. 9 illustrates a receiver for use in a wireless communication systemin accordance with one aspect of the subject technology. Receiver 900includes an antenna module 910 configured to receive a wireless signal.While receiver 900 may be used in various communication systems, forclarity, receiver 900 is specifically described herein with respect to aGSM system. The received signal is provided to a pre-processor module920 which demodulates the signal to generate received samples.Pre-processor module 920 may include a GMSK-to-BPSK rotator thatperforms phase rotation on the received samples. Timing estimator module930 receives the samples from pre-processor module 920 and generates aplurality of timing hypotheses regarding where a training sequence ofsymbols (i.e., midamble) begins in the burst of data. Interferencesuppressor module 940 iteratively performs single antenna interferencecancellation on the symbols for each timing hypothesis, calculatingdifferent filter weights for each timing hypothesis, and midambleestimator module 950 generates a midamble estimation error for eachhypothesis, as described in greater detail above. Timing decisioncircuit 960 compares the midamble estimation errors for each hypothesisand selects the hypothesis with the lowest midamble estimation error.The selection of a hypothesis by timing decision module 960 representsthe position in the burst of symbols where the midamble is estimated tobegin. Frequency estimator module 970 receives the samples from timingdecision module 960 and generates a plurality of frequency hypothesesregarding a frequency on which symbols are transmitted. Interferencesuppressor module 940 iteratively performs single antenna interferencecancellation on the symbols for each frequency hypothesis, calculatingdifferent filter weights for each frequency hypothesis, and midambleestimator module 950 generates a midamble estimation error for eachhypothesis, as described in greater detail above. Frequency decisioncircuit 980 compares the midamble estimation errors for each hypothesisand selects the hypothesis with the lowest midamble estimation error.The selection of a hypothesis by frequency decision module 980represents the optimal frequency at which to receive the burst ofsymbols. The signal is then provided to data processor module 990, whichprocesses the received symbols based upon the selected timing andfrequency hypotheses, and outputs the data corresponding to the receivedsymbols.

FIG. 10 illustrates a receiver for use in a wireless communicationsystem in accordance with one aspect of the subject technology. Receiver1000 includes an antenna module 1010 configured to receive a wirelesssignal. The received signal is provided to a pre-processor module 1020which demodulates the signal to generate received samples. Pre-processormodule 1020 may include a GMSK-to-BPSK rotator that performs phaserotation on the received samples. Timing and frequency estimator module1030 receives the samples from pre-processor module 1020 and generates aplurality of timing and frequency hypotheses regarding where a trainingsequence of symbols (i.e., midamble) begins in the burst of data(timing) and at which frequency the symbols can be optimally received(frequency). Interference suppressor module 1040 iteratively performssingle antenna interference cancellation on the symbols for each timingand frequency hypothesis pair, calculating different filter weights foreach hypothesis pair, and midamble estimator module 1050 generates amidamble estimation error for each hypothesis pair, as described ingreater detail above. Timing and frequency decision module 1060 comparesthe midamble estimation errors for each hypothesis pair and selects thepair with the lowest midamble estimation error. The selection of ahypothesis pair by timing and frequency decision module 1060 representsthe position in the burst of symbols where the midamble is estimated tobegin, and the optimal frequency at which to receive the burst ofsymbols. The signal is then provided to data processor module 1070,which processes the received symbols based upon the selected timing andfrequency hypotheses, and outputs the data corresponding to the receivedsymbols.

FIG. 11 is a block diagram that illustrates a computer system 1100 uponwhich an aspect may be implemented. Computer system 1100 includes a bus1102 or other communication mechanism for communicating information, anda processor 1104 coupled with bus 1102 for processing information.Computer system 1100 also includes a memory 1106, such as a randomaccess memory (“RAM”) or other dynamic storage device, coupled to bus1102 for storing information and instructions to be executed byprocessor 1104. Memory 1106 may also be used for storing temporaryvariable or other intermediate information during execution ofinstructions to be executed by processor 1104. Computer system 1100further includes a data storage device 1110, such as a magnetic disk oroptical disk, coupled to bus 1102 for storing information andinstructions.

Computer system 1100 may be coupled via I/O module 1108 to a displaydevice (not illustrated), such as a cathode ray tube (“CRT”) or liquidcrystal display (“LCD”) for displaying information to a computer user.An input device, such as, for example, a keyboard or a mouse may also becoupled to computer system 1100 via I/O module 1108 for communicatinginformation and command selections to processor 1104.

According to one aspect, timing and frequency estimation is performed bya computer system 1100 in response to processor 1104 executing one ormore sequences of one or more instructions contained in memory 1106.Such instructions may be read into memory 1106 from anothermachine-readable medium, such as data storage device 1110. Execution ofthe sequences of instructions contained in main memory 1106 causesprocessor 1104 to perform the process steps described herein. One ormore processors in a multi-processing arrangement may also be employedto execute the sequences of instructions contained in memory 1106. Inalternative aspects, hard-wired circuitry may be used in place of or incombination with software instructions to implement various aspects.Thus, aspects are not limited to any specific combination of hardwarecircuitry and software.

The term “machine-readable medium” as used herein refers to any mediumthat participates in providing instructions to processor 1104 forexecution. Such a medium may take many forms, including, but not limitedto, non-volatile media, volatile media, and transmission media.Non-volatile media include, for example, optical or magnetic disks, suchas data storage device 1110. Volatile media include dynamic memory, suchas memory 1106. Transmission media include coaxial cables, copper wire,and fiber optics, including the wires that comprise bus 1102.Transmission media can also take the form of acoustic or light waves,such as those generated during radio frequency and infrared datacommunications. Common forms of machine-readable media include, forexample, floppy disk, a flexible disk, hard disk, magnetic tape, anyother magnetic medium, a CD-ROM, DVD, any other optical medium, punchcards, paper tape, any other physical medium with patterns of holes, aRAM, a PROM, an EPROM, a FLASH EPROM, any other memory chip orcartridge, a carrier wave, or any other medium from which a computer canread.

Those of skill in the art would appreciate that the various illustrativeblocks, modules, elements, components, methods, and algorithms describedherein may be implemented as electronic hardware, computer software, orcombinations of both. Furthermore, these may be partitioned differentlythan what is described. To illustrate this interchangeability ofhardware and software, various illustrative blocks, modules, elements,components, methods, and algorithms have been described above generallyin terms of their functionality. Whether such functionality isimplemented as hardware or software depends upon the particularapplication and design constraints imposed on the overall system.Skilled artisans may implement the described functionality in varyingways for each particular application.

It is understood that the specific order or hierarchy of steps or blocksin the processes disclosed is an illustration of exemplary approaches.Based upon design preferences, it is understood that the specific orderor hierarchy of steps or blocks in the processes may be rearranged. Theaccompanying method claims present elements of the various steps in asample order, and are not meant to be limited to the specific order orhierarchy presented.

The previous description is provided to enable any person skilled in theart to practice the various aspects described herein. Variousmodifications to these aspects will be readily apparent to those skilledin the art, and the generic principles defined herein may be applied toother aspects. Thus, the claims are not intended to be limited to theaspects shown herein, but is to be accorded the full scope consistentwith the language claims, wherein reference to an element in thesingular is not intended to mean “one and only one” unless specificallyso stated, but rather “one or more.” Unless specifically statedotherwise, the term “some” refers to one or more. Pronouns in themasculine (e.g., his) include the feminine and neuter gender (e.g., herand its) and vice versa. All structural and functional equivalents tothe elements of the various aspects described throughout this disclosurethat are known or later come to be known to those of ordinary skill inthe art are expressly incorporated herein by reference and are intendedto be encompassed by the claims. Moreover, nothing disclosed herein isintended to be dedicated to the public regardless of whether suchdisclosure is explicitly recited in the claims. No claim element is tobe construed under the provisions of 35 U.S.C. §112, sixth paragraph,unless the element is expressly recited using the phrase “means for” or,in the case of a method claim, the element is recited using the phrase“step for.”

1. A method for timing and frequency synchronization in a wirelesssystem, comprising the steps of: receiving a burst of symbols; selectinga subset of the burst of symbols; iteratively adjusting the subset ofthe burst of symbols by a plurality of timing offsets; calculating, foreach timing offset, a first performance metric corresponding to theadjusted subset; determining one of the plurality of timing offsets tobe a preferred timing offset based upon the first performance metricthereof; iteratively rotating the subset of the burst of symbols by aplurality of frequency offsets; calculating, for each frequency offset,a second performance metric corresponding to the rotated subset; anddetermining one of the plurality of frequency offsets to be a preferredfrequency offset based upon the second performance metric thereof. 2.The method according to claim 1, wherein the first performance metric isa midamble estimation error.
 3. The method according to claim 2, whereinthe midamble estimation error is calculated for each timing offset by:calculating a plurality of weights for an interference suppressionfilter based upon the subset of the burst of symbols; filtering theburst of symbols using the interference suppression filter with thecorresponding plurality of weights to obtain an estimated midamblesequence; and comparing the estimated midamble sequence with apreviously-known midamble sequence to determine the midamble estimationerror.
 4. The method according to claim 3, wherein the plurality ofweights are calculated by solving forW_(SAIC)={tilde over (s)}_(k)[X]^(T){[X][X]^(T)}⁻¹, where {tilde over(s)}_(k) is a vector corresponding to an estimate of the subset ofsymbols, [X] is a matrix of spatial temporal samples of the burst ofsymbols, and [X]^(T) is a transpose of [X].
 5. The method according toclaim 3, wherein the interference suppression filter is a single antennainterference cancellation filter.
 6. The method according to claim 3,wherein the interference suppression filter is a dual antennainterference cancellation filter.
 7. The method according to claim 1,wherein the second performance metric is a midamble estimation error. 8.The method according to claim 7, wherein the midamble estimation erroris calculated for each frequency offset by: calculating a plurality ofweights for an interference suppression filter based upon the subset ofthe burst of symbols; filtering the burst of symbols using theinterference suppression filter with the corresponding plurality ofweights to obtain an estimated midamble sequence; and comparing theestimated midamble sequence with a previously-known midamble sequence todetermine the midamble estimation error.
 9. The method according toclaim 8, wherein the plurality of weights are calculated by solving forW_(SAIC)={tilde over (s)}_(k)[X]^(T){[X][X]^(T)}⁻¹, where {tilde over(s)}_(k) is a vector corresponding to an estimate of the subset ofsymbols, [X] is a matrix of spatial temporal samples of the burst ofsymbols, and [X]^(T) is a transpose of [X].
 10. The method according toclaim 8, wherein the interference suppression filter is a single antennainterference cancellation filter.
 11. The method according to claim 1,wherein the subset of the burst of symbols includes a first midamblesymbol.
 12. The method according to claim 11, wherein the plurality oftiming offsets are determined by estimating a position of the firstmidamble symbol in the burst of symbols and selecting the subset of theburst of symbols from symbols centered around the estimated position.13. A method for timing and frequency synchronization in a wirelesssystem, comprising the steps of: receiving a burst of symbols; selectinga subset of the burst of symbols; iteratively adjusting the subset ofthe burst of symbols by a plurality of timing offsets and a plurality offrequency offsets; calculating, for each combination of timing andfrequency offsets, a performance metric corresponding to the adjustedsubset; and determining one of the combination of timing and frequencyoffsets to be a preferred combination based upon the performance metricthereof.
 14. The method according to claim 13, wherein the performancemetric is a midamble estimation error.
 15. The method according to claim14, wherein the midamble estimation error is calculated for eachcombination of timing and frequency offsets by: calculating a pluralityof weights for an interference suppression filter based upon the subsetof the burst of symbols; filtering the burst of symbols using theinterference suppression filter with the corresponding plurality ofweights to obtain an estimated midamble sequence; and comparing theestimated midamble sequence with a previously-known midamble sequence todetermine the midamble estimation error.
 16. The method according toclaim 15, wherein the plurality of weights are calculated by solving forW_(SAIC)={tilde over (s)}_(k)[X]^(T){[X][X]^(T)}⁻¹, where {tilde over(s)}_(k) is a vector corresponding to an estimate of the subset ofsymbols, [X] is a matrix of spatial temporal samples of the burst ofsymbols, and [X]^(T) is a transpose of [X].
 17. The method according toclaim 15, wherein the interference suppression filter is a singleantenna interference cancellation filter.
 18. The method according toclaim 15, wherein the interference suppression filter is a dual antennainterference cancellation filter.
 19. A wireless apparatus, comprising:a receiver configured to receive a burst of symbols; and a processorconfigured to: select a subset of the burst of symbols; iterativelyadjust the subset of the burst of symbols by a plurality of timingoffsets; calculate, for each timing offset, a first performance metriccorresponding to the adjusted subset; determine one of the plurality oftiming offsets to be a preferred timing offset based upon the firstperformance metric thereof; iteratively rotate the subset of the burstof symbols by a plurality of frequency offsets; calculate, for eachfrequency offset, a second performance metric corresponding to therotated subset; and determine one of the plurality of frequency offsetsto be a preferred frequency offset based upon the second performancemetric thereof.
 20. The wireless apparatus according to claim 19,wherein the first performance metric is a midamble estimation error. 21.The wireless apparatus according to claim 20, wherein the processor isconfigured to calculate the midamble estimation error for each timingoffset by: calculating a plurality of weights for an interferencesuppression filter based upon the subset of the burst of symbols;filtering the burst of symbols using the interference suppression filterwith the corresponding plurality of weights to obtain an estimatedmidamble sequence; and comparing the estimated midamble sequence with apreviously-known midamble sequence to determine the midamble estimationerror.
 22. The wireless apparatus to claim 21, wherein the processor isconfigured to calculate the plurality of weights by solving forW_(SAIC)={tilde over (s)}_(k)[X]^(T){[X][X]^(T)}⁻¹, where {tilde over(s)}_(k) is a vector corresponding to an estimate of the subset ofsymbols, [X] is a matrix of spatial temporal samples of the burst ofsymbols, and [X]^(T) is a transpose of [X].
 23. The wireless apparatusaccording to claim 21, wherein the interference suppression filter is asingle antenna interference cancellation filter.
 24. The wirelessapparatus according to claim 21, wherein the interference suppressionfilter is a dual antenna interference cancellation filter.
 25. Thewireless apparatus according to claim 19, wherein the second performancemetric is a midamble estimation error.
 26. The wireless apparatusaccording to claim 25, wherein the processor is configured to calculatethe midamble estimation error for each frequency offset by: calculatinga plurality of weights for an interference suppression filter based uponthe subset of the burst of symbols; filtering the burst of symbols usingthe interference suppression filter with the corresponding plurality ofweights to obtain an estimated midamble sequence; and comparing theestimated midamble sequence with a previously-known midamble sequence todetermine the midamble estimation error.
 27. The wireless apparatusaccording to claim 26, wherein the processor is configured to calculatethe plurality of weights by solving forW_(SAIC)={tilde over (s)}_(k)[X]^(T){[X][X]^(T)}⁻¹, where {tilde over(s)}_(k) is a vector corresponding to an estimate of the subset ofsymbols, [X] is a matrix of spatial temporal samples of the burst ofsymbols, and [X]^(T) is a transpose of [X].
 28. The wireless apparatusaccording to claim 26, wherein the interference suppression filter is asingle antenna interference cancellation filter.
 29. The wirelessapparatus according to claim 19, wherein the subset of the burst ofsymbols includes a first midamble symbol.
 30. The wireless apparatusaccording to claim 29, wherein the processor is configured to determinethe plurality of timing offsets by estimating a position of the firstmidamble symbol in the burst of symbols and selecting the subset of theburst of symbols from symbols centered around the estimated position.31. A wireless apparatus, comprising: a receiver configured to receive aburst of symbols; and a processor configured to: receive a burst ofsymbols; select a subset of the burst of symbols; iteratively adjust thesubset of the burst of symbols by a plurality of timing offsets and aplurality of frequency offsets; calculate, for each combination oftiming and frequency offsets, a performance metric corresponding to theadjusted subset; and determine one of the combination of timing andfrequency offsets to be a preferred combination based upon theperformance metric thereof.
 32. The wireless apparatus according toclaim 31, wherein the performance metric is a midamble estimation error.33. The wireless apparatus according to claim 32, wherein the processoris configured to calculate the midamble estimation error for eachcombination of timing and frequency offsets by: calculating a pluralityof weights for an interference suppression filter based upon the subsetof the burst of symbols; filtering the burst of symbols using theinterference suppression filter with the corresponding plurality ofweights to obtain an estimated midamble sequence; and comparing theestimated midamble sequence with a previously-known midamble sequence todetermine the midamble estimation error.
 34. The wireless apparatusaccording to claim 33, wherein the processor is configured to calculatethe plurality of weights by solving forW_(SAIC)={tilde over (s)}_(k)[X]^(T){[X][X]^(T)}⁻¹, where {tilde over(s)}_(k) is a vector corresponding to an estimate of the subset ofsymbols, [X] is a matrix of spatial temporal samples of the burst ofsymbols, and [X]^(T) is a transpose of [X].
 35. The wireless apparatusaccording to claim 33, wherein the interference suppression filter is asingle antenna interference cancellation filter.
 36. The wirelessapparatus according to claim 33, wherein the interference suppressionfilter is a dual antenna interference cancellation filter.
 37. Awireless apparatus, comprising: means for receiving a burst of symbols;means for selecting a subset of the burst of symbols; means foriteratively adjusting the subset of the burst of symbols by a pluralityof timing offsets; means for calculating, for each timing offset, afirst performance metric corresponding to the adjusted subset; means fordetermining one of the plurality of timing offsets to be a preferredtiming offset based upon the first performance metric thereof; means foriteratively rotating the subset of the burst of symbols by a pluralityof frequency offsets and calculating, for each frequency offset, asecond performance metric corresponding to the rotated subset; and meansfor determining one of the plurality of frequency offsets to be apreferred frequency offset based upon the second performance metricthereof.
 38. The wireless apparatus according to claim 37, wherein thefirst performance metric is a midamble estimation error.
 39. Thewireless apparatus according to claim 38, wherein the means forcalculating the midamble estimation error for each timing offsetcomprise: means for calculating a plurality of weights for aninterference suppression filter based upon the subset of the burst ofsymbols; means filtering the burst of symbols using the interferencesuppression filter with the corresponding plurality of weights to obtainan estimated midamble sequence; and means for comparing the estimatedmidamble sequence with a previously-known midamble sequence to determinethe midamble estimation error.
 40. The wireless apparatus according toclaim 39, wherein the means for calculating the plurality of weightscomprise means for solving forW_(SAIC)={tilde over (s)}_(k)[X]^(T){[X][X]^(T)}⁻¹, where {tilde over(s)}_(k) is a vector corresponding to an estimate of the subset ofsymbols, [X] is a matrix of spatial temporal samples of the burst ofsymbols, and [X]^(T) is a transpose of [X].
 41. The wireless apparatusaccording to claim 39, wherein the interference suppression filter is asingle antenna interference cancellation filter.
 42. The wirelessapparatus according to claim 39, wherein the interference suppressionfilter is a dual antenna interference cancellation filter.
 43. Thewireless apparatus according to claim 37, wherein the second performancemetric is a midamble estimation error.
 44. The wireless apparatusaccording to claim 43, wherein the means for calculating the midambleestimation error for each frequency offset comprise: means forcalculating a plurality of weights for an interference suppressionfilter based upon the subset of the burst of symbols; means forfiltering the burst of symbols using the interference suppression filterwith the corresponding plurality of weights to obtain an estimatedmidamble sequence; and means for comparing the estimated midamblesequence with a previously-known midamble sequence to determine themidamble estimation error.
 45. The wireless apparatus according to claim44, wherein the means for calculating the plurality of weights comprisemeans for solving forW_(SAIC)={tilde over (s)}_(k)[X]^(T){[X][X]^(T)}⁻¹, where {tilde over(s)}_(k) is a vector corresponding to an estimate of the subset ofsymbols, [X] is a matrix of spatial temporal samples of the burst ofsymbols, and [X]^(T) is a transpose of [X].
 46. The wireless apparatusaccording to claim 44, wherein the interference suppression filter is asingle antenna interference cancellation filter.
 47. The wirelessapparatus according to claim 37, wherein the subset of the burst ofsymbols includes a first midamble symbol.
 48. The wireless apparatusaccording to claim 47, wherein the plurality of timing offsets aredetermined by estimating a position of the first midamble symbol in theburst of symbols and selecting the subset of the burst of symbols fromsymbols centered around the estimated position.
 49. A wirelessapparatus, comprising: means for receiving a burst of symbols; means forselecting a subset of the burst of symbols; means for iterativelyadjusting the subset of the burst of symbols by a plurality of timingoffsets and a plurality of frequency offsets; means for calculating, foreach combination of timing and frequency offsets, a performance metriccorresponding to the adjusted subset; and means for determining one ofthe combination of timing and frequency offsets to be a preferredcombination based upon the performance metric thereof.
 50. The wirelessapparatus according to claim 49, wherein the performance metric is amidamble estimation error.
 51. The wireless apparatus according to claim50, wherein means for calculating the midamble estimation error for eachcombination of timing and frequency offsets comprises: means forcalculating a plurality of weights for an interference suppressionfilter based upon the subset of the burst of symbols; means forfiltering the burst of symbols using the interference suppression filterwith the corresponding plurality of weights to obtain an estimatedmidamble sequence; and means for comparing the estimated midamblesequence with a previously-known midamble sequence to determine themidamble estimation error.
 52. The wireless apparatus according to claim51, wherein the means for calculating the plurality of weights comprisemeans for solving forW_(SAIC)={tilde over (s)}_(k)[X]^(T){[X][X]^(T)}⁻¹, where {tilde over(s)}_(k) is a vector corresponding to an estimate of the subset ofsymbols, [X] is a matrix of spatial temporal samples of the burst ofsymbols, and [X]^(T) is a transpose of [X].
 53. The wireless apparatusaccording to claim 51, wherein the interference suppression filter is asingle antenna interference cancellation filter.
 54. The methodaccording to claim 51, wherein the interference suppression filter is adual antenna interference cancellation filter.
 55. A computer-programproduct for use in a wireless communication system comprising a computerreadable medium having a set of instructions stored thereon, the set ofinstructions being executable by one or more processors and the set ofinstructions comprising: instructions for receiving a burst of symbols;instructions for selecting a subset of the burst of symbols;instructions for iteratively adjusting the subset of the burst ofsymbols by a plurality of timing offsets; instructions for calculating,for each timing offset, a first performance metric corresponding to theadjusted subset; instructions for determining one of the plurality oftiming offsets to be a preferred timing offset based upon the firstperformance metric thereof; instructions for iteratively rotating thesubset of the burst of symbols by a plurality of frequency offsets andfor calculating, for each frequency offset, a second performance metriccorresponding to the rotated subset; and instructions for determiningone of the plurality of frequency offsets to be a preferred frequencyoffset based upon the second performance metric thereof.
 56. Thecomputer-program product according to claim 55, wherein the firstperformance metric is a midamble estimation error.
 57. Thecomputer-program product according to claim 56, wherein instructions forcalculating the midamble estimation error for each timing offsetcomprise: instructions for calculating a plurality of weights for aninterference suppression filter based upon the subset of the burst ofsymbols; instructions for filtering the burst of symbols using theinterference suppression filter with the corresponding plurality ofweights to obtain an estimated midamble sequence; and instructions forcomparing the estimated midamble sequence with a previously-knownmidamble sequence to determine the midamble estimation error.
 58. Thecomputer-program product according to claim 57, wherein the instructionsfor calculating the plurality of weights comprise instructions forsolving forW_(SAIC)={tilde over (s)}_(k)[X]^(T){[X][X]^(T)}⁻¹, where {tilde over(s)}_(k) is a vector corresponding to an estimate of the subset ofsymbols, [X] is a matrix of spatial temporal samples of the burst ofsymbols, and [X]^(T) is a transpose of [X].
 59. The computer-programproduct according to claim 57, wherein the interference suppressionfilter is a single antenna interference cancellation filter.
 60. Thecomputer-program product according to claim 57, wherein the interferencesuppression filter is a dual antenna interference cancellation filter.61. The computer-program product according to claim 55, wherein thesecond performance metric is a midamble estimation error.
 62. Thecomputer-program product according to claim 61, wherein the instructionsfor calculating the midamble estimation error for each frequency offsetcomprise: instructions for calculating a plurality of weights for aninterference suppression filter based upon the subset of the burst ofsymbols; instructions for filtering the burst of symbols using theinterference suppression filter with the corresponding plurality ofweights to obtain an estimated midamble sequence; and instructions forcomparing the estimated midamble sequence with a previously-knownmidamble sequence to determine the midamble estimation error.
 63. Thecomputer-program product according to claim 62, wherein the instructionsfor calculating the plurality of weights comprise instructions forsolving forW_(SAIC)={tilde over (s)}_(k)[X]^(T){[X][X]^(T)}⁻¹, where {tilde over(s)}_(k) is a vector corresponding to an estimate of the subset ofsymbols, [X] is a matrix of spatial temporal samples of the burst ofsymbols, and [X]^(T) is a transpose of [X].
 64. The computer-programproduct according to claim 62, wherein the interference suppressionfilter is a single antenna interference cancellation filter.
 65. Thecomputer-program product according to claim 62, wherein the subset ofthe burst of symbols includes a first midamble symbol.
 66. Thecomputer-program product according to claim 65, wherein the plurality oftiming offsets are determined by estimating a position of the firstmidamble symbol in the burst of symbols and selecting the subset of theburst of symbols from symbols centered around the estimated position.67. A computer-program product for use in a wireless communicationsystem comprising a computer readable medium having a set ofinstructions stored thereon, the set of instructions being executable byone or more processors and the set of instructions comprising:instructions for receiving a burst of symbols; instructions forselecting a subset of the burst of symbols; instructions for iterativelyadjusting the subset of the burst of symbols by a plurality of timingoffsets and a plurality of frequency offsets; instructions forcalculating, for each combination of timing and frequency offsets, aperformance metric corresponding to the adjusted subset; andinstructions for determining one of the combination of timing andfrequency offsets to be a preferred combination based upon theperformance metric thereof.
 68. The computer-program product accordingto claim 67, wherein the performance metric is a midamble estimationerror.
 69. The computer-program product according to claim 68, whereinthe instructions for calculating the midamble estimation error for eachcombination of timing and frequency offsets comprise: instructions forcalculating a plurality of weights for an interference suppressionfilter based upon the subset of the burst of symbols; instructions forfiltering the burst of symbols using the interference suppression filterwith the corresponding plurality of weights to obtain an estimatedmidamble sequence; and instructions for comparing the estimated midamblesequence with a previously-known midamble sequence to determine themidamble estimation error.
 70. The computer-program product according toclaim 69, wherein the instructions for calculating the plurality ofweights comprise instructions for solving forW_(SAIC)={tilde over (s)}_(k)[X]^(T){[X][X]^(T)}⁻¹, where {tilde over(s)}_(k) is a vector corresponding to an estimate of the subset ofsymbols, [X] is a matrix of spatial temporal samples of the burst ofsymbols, and [X]^(T) is a transpose of [X].
 71. The computer-programproduct according to claim 69, wherein the interference suppressionfilter is a single antenna interference cancellation filter.
 72. Thecomputer-program product according to claim 69, wherein the interferencesuppression filter is a dual antenna interference cancellation filter.